package com.cj.dao;
import com.cj.po.ClassStudent;
import com.cj.po.Student;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 管理员DAO层接口
 */
public interface StudentDao {
    /**
     * 进行分页查询
     */

    // 获取总条数
    public Integer totalCount(@Param("s_name") String s_name, @Param("s_studentid") Integer s_studentid,
                              @Param("s_classid") Integer s_classid, @Param("s_classname") String s_classname);

    // 获取用户列表
    public List<Student> getStudentList(@Param("s_name") String s_name, @Param("s_studentid") Integer s_studentid,
                                        @Param("s_classid") Integer s_classid, @Param("s_classname") String s_classname,
                                        @Param("currentPage") Integer currentPage, @Param("pageSize") Integer pageSize);

    public int deleteStudent(Integer s_id);   // 删除学生信息

    public int addStudent(Student student);   // 添加学生信息

    public int updateStudent(Student student); // 修改学生信息

    public Student findStudentById(Integer s_id);

        // 其他方法...

        /**
         * 通过ID查找班级学生信息
         * @params_id 学生ID
         * @return 班级学生信息
         */

    public int addClassStudent(ClassStudent classStudent);

    // 通过id删除班级学生信息
    public int deleteClassStudent(Integer s_id);

    // 通过id查找班级学生信息
    public ClassStudent findClassStudentById(Integer s_id);

    // 修改班级学生信息
    public int updateClassStudent(ClassStudent classStudent);

    public List<Student> getAll();

    public Integer classTotalCount(@Param("c_classid") Integer c_classid, @Param("c_classname") String c_classname);

    // 修改为 Map 类型参数
    public List<ClassStudent> getClassStudentList(Map<String, Object> params);
}
